package hcn.api.service.brandnew.dengji;

import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.protocol.brandnew.dengji.jianchayuyue.*;

/**
 * 平台消息模型/公用/v4.0/登记类业务/检查预约
 *
 * @author enjoyLife
 */
public interface JianchayuyueService {


    /**
     * 检查项目指定日期的可预约时间查询
     */
    @RpcService
    QueryAppointTimeResponse queryAppointTime(QueryAppointTimeRequest req) throws ControllerException;


    /**
     * 检查项目的可预约日期查询
     */
    @RpcService
    QueryAppointDateResponse queryAppointDate(QueryAppointDateRequest req) throws ControllerException;


    /**
     * 确认预约
     */
    @RpcService(timeout = 40)
    ConfirmAppointResponse confirmAppoint(ConfirmAppointRequest req) throws ControllerException;


    /**
     * 取消预约
     */
    @RpcService
    CancelAppointResponse cancelAppoint(CancelAppointRequest req) throws ControllerException;


    /**
     * 预约报到
     */
    @RpcService
    BookAppointResponse bookAppoint(BookAppointRequest req) throws ControllerException;


    /**
     * 检查预约状态信息更新服务
     */
    @RpcService
    QueryPatientListResponse queryPatientList(QueryPatientListRequest req) throws ControllerException;


    /**
     * 检查预约项目查询
     */
    @RpcService
    QueryAppointItemResponse queryAppointItem(QueryAppointItemRequest req) throws ControllerException;



}
